Data rendering generally pertains to displaying data using a computer. For example, a user who is interested in purchasing a television may use data rendering techniques to browse through web pages of televisions which are available from an on-line product catalog. However, the amount of data that is available to users is constantly increasing. Whereas at one point, the data may have only included a title, description, and price of the product, users are now also presented with reviews, ratings, alternative and related products, pictures, comments, targeted ads, etc. At the same time, the types of computers are also diversifying. Whereas once users might primarily use a Personal Computer, they are now increasingly using netbooks, tablets, smart phones, etc. to view the same content.
In prior implementations, applications would use techniques created by developers during a design phase to determine what data to return to render. For example, if the data request is a request to view search results from a search engine such as Google®, then in previous data rendering techniques a user of a desktop computer may use a first application (e.g., www.google.com) to view search results while a user of a mobile device will have to use a second application (e.g., www.m.google.com) to view the search results. Accordingly, in such previous data rendering techniques, a developer would have to create the two different applications (e.g., www.google.com and www.m.google.com) in order to accommodate users who operate client devices of varying technology.
However, due to the increasing amount of data that is available and the diversifying type of computers which are requesting data, such techniques may place an undesirable burden on the developers, the computers and/or the data transmission network.